// pages/car/car.js
let { getHomeGoods } = require("../../api/Home");
Page({

  /**
   * 页面的初始数据
   */
  data: {
    totalData:0,
    goodsList:[
      // {
      //   id:1,
      //   goodsImage:"/images/goods01.jpg",
      //   goodsName:"商品名称1",
      //   goodsPrice:"200",
      //   num:1,
      // },
      // {
      //   id:2,
      //   goodsImage:"/images/goods02.jpg",
      //   goodsName:"商品名称2",
      //   goodsPrice:"200",
      //   num:1,
      // },
    ],
    commendgoodsList:[
      // {
      //   id:1,
      //   goodsImage:"/images/goods01.jpg",
      //   goodsName:"商品名称1",
      //   goodsAddress:"广州",
      //   goodsPrice:"200",
      // },
      // {
      //   id:2,
      //   goodsImage:"/images/goods02.jpg",
      //   goodsName:"商品名称2",
      //   goodsAddress:"广州",
      //   goodsPrice:"200",
      // },
    ]
  },
  // 跳转支付页面
  goPay(){
    wx.navigateTo({
      url: '/pages/pay/pay',
    })
  },
  // 数量减一
  sub(options){
    let index = options.target.dataset.id;
    let num = this.data.goodsList[index].num;
    let key = "goodsList["+index+"].num";
    num = num <= 1? 1:num-1;
    this.setData({
      [key]:num
    })
    // 计算总价
    this.getTotal();
  },
  // 数量加一
  add(options){
    let index = options.target.dataset.id;
    let num = this.data.goodsList[index].num;
    let key = "goodsList["+index+"].num";
    this.setData({
      [key]:num+1
    })
    // 计算总价
    this.getTotal();
  },
  // 删除数据
  del(options){
    let index = options.currentTarget.dataset.id;
    this.data.goodsList.splice(index,1);// 删除数据,不同步视图
    this.setData({
      goodsList:this.data.goodsList // 重新赋值对象,渲染页面
    })
    // 计算总价
    this.getTotal();
  },
  // 计算总价方法
  getTotal(){
    // 获取数据
    let goodsList = this.data.goodsList;
    if(!goodsList){
      return;
    }
    // 总价格
    let data = goodsList.reduce((total,item)=>{
      return total + item.num * item.goodsPrice;
    },0)
    this.setData({
      totalData:data
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    getHomeGoods().then((data)=>{
      console.log(data);
      let lists = [];
      let goodslists = data.message.goods;
      goodslists.forEach(item=>{
        let {goods_id,goods_small_logo,goods_price,goods_name} = item;
        let data = {
          id:goods_id,
          goodsImage:goods_small_logo,
          goodsName:goods_name,
          goodsAddress:"广州",
          goodsPrice:goods_price
        };
        if(goods_small_logo){
          lists.push(data);
        }
      })
      this.setData({
        commendgoodsList:lists
      })
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 获取数据
    var getCarData = wx.getStorageSync('goodsCarList');
    this.setData({
      goodsList:getCarData
    })
    // 计算总价格
    this.getTotal();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    // 离开页面,更新数据缓存
    wx.setStorageSync('goodsCarList',this.data.goodsList);
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})